In order to reduce costs, many control applications tend to favor the use of common modular hardware components that are interchangeable. However, such modular hardware typically needs the ability to identify its unique deployment. In other words, the modular hardware needs to know where it is located and what its functions are. One common way of providing this knowledge is to configure non-volatile memory on each modular hardware component. The non-volatile memory in each component typically must be reconfigured or programmed upon deployment or changes in the system, which increases cost.
Another method used to provide modular hardware with the required deployment information pin strapping. Pin strapping uses connectors that are either wired to a logical high or low voltage. The high or low voltage essentially indicates the address or location of the modular hardware component. While this has the advantage of removing the need for reconfiguration of non-volatile memory, pin strapping uses up connector pins that could be used for other connections. Also, errors can occur with pin strapping if one of the wires breaks, which could lead to more than one node thinking they have the same address.